#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAXN=255;
//tmp[i][j]表示用j个硬币凑i元的种类数
int tmp[MAXN][105];
int ans[MAXN][105];
//都有无限个
int a[6]={1,5,10,25,50};
void Init(){
    ans[0][0]=1;
    //枚举硬币种数
    for(int i=0;i<5;i++){
        //枚举要凑成的钱数
        for(int j=0;j<=250;j++){
            //在可用范围内枚举该种硬币数量
            for(int k=0;k*a[i]+j<=250;k++){
                //枚举t控制总硬币数量
                for(int t=0;k+t<=100;t++){
                    tmp[j+k*a[i]][k+t]+=ans[j][t];
                    //printf("%d ",tmp[j+k*a[i]][k+t]);
                }
            }
        }
        memcpy(ans,tmp,sizeof(tmp));
        memset(tmp,0,sizeof(tmp));
    }
}
int main(void){
    Init();
    int n;
    while(~scanf("%d",&n)){
        int res=0;
        //枚举硬币数 累加得到总的种类数
        for(int i=0;i<=100;i++){
            res+=ans[n][i];
        }
        printf("%d\n",res);
    }
    return 0;
}
